home *** CD-ROM | disk | FTP | other *** search
- //
- //**************************************************************************
- //
- // BOleComp.h -- Provides a default IUnknownMain implementation for all
- // Bolero components (helper objects and some private
- // objects).
- //
- // IUnknownMain is a way to create aggregatable components
- // which support IUnknown-based interfaces via multiple-
- // inheritance.
- //
- // Copyright (c) 1993,94 by Borland International, Inc. All rights reserved
- //
- //**************************************************************************
-
- #ifndef BOLECOMP_H
- #define BOLECOMP_H
-
- #include "BOle.h"
- #include "OleDebug.h"
-
- class _ICLASS BOleClassManager;
-
- PREDECLARE_INTERFACE( BOleComponent );
-
- class _ICLASS BOleComponent : public IBUnknownMain
- #ifdef OLEDBG
- , public cDebug
- #endif
- {
- public:
- BOleClassManager * pFactory;
-
- private:
- unsigned long nReferences;
-
- protected:
- IBUnknownMain * pObjOuter;
- BOleComponent(BOleClassManager *pF, PIBUnknownMain pObj);
- virtual ~BOleComponent();
-
- public:
-
- // IUnknown methods delegate aggregator's IUnknownMain
- //
- DEFINE_IUNKNOWN(pObjOuter);
-
- // IUnknownMain methods
- //
- virtual HRESULT _IFUNC QueryInterfaceMain(REFIID iid, LPVOID FAR* pif);
- virtual ULONG _IFUNC AddRefMain();
- virtual ULONG _IFUNC ReleaseMain();
- };
-
- #endif
-
-